package ads.corporativa.aula2803.eventos;

import java.util.List;

public abstract class Participante {

	/**
	 * Nesta classe coloca-se uma interface de acesso aos métodos de Pessoa para
	 * nao acessar diretamente através do getPessoa()
	 * 
	 * Ex.: estudante.getNome ao invés de estudante.getPessoa().getNome()
	 */
	private Pessoa pessoa;
	private List<Cupom> cupoms;
	private List<Inscricao> inscricoes;

	/**
	 * A composição foi adotada porque caso uma pessoa seja também um
	 * palestrante ou instrutor ela poderá assumir diferentes papéis dentro do
	 * sistema. Pode-se definir a atribuição do objeto pessoa via parâmetro do
	 * construtor ou então inicializá-lo dentro do construtor.
	 * 
	 * @param pessoa
	 */
	public Participante(Pessoa pessoa) {
		this.pessoa = pessoa;
	}

	public void incluir() {

	}

	public void alterar() {

	}

	public void selecionar() {

	}

	/**
	 * Exclusão lógica, apenas desativa o cadastro e esse mesmo pode ser
	 * utilizado nos históricos
	 */
	public void excluir() {

	}

	/**
	 * Obtem o cupom específico de um evento
	 * 
	 * @param evento
	 * @return
	 */
	public Cupom obterCupom(Evento evento) {
		return null;
	}

}
